


// 混入 
// 混入 (mixin) 提供了一种非常灵活的方式，来分发 Vue 组件中的可复用功能
// 一个混入对象可以包含任意组件选项 (data created mounted watch computed...)

// 全局混入 
// 局部混入

// 混入 和 Vuex 配置使用  

import Vue from 'vue'
import {mapActions, mapGetters, mapMutations, mapState} from 'vuex'
import {FtList} from './'
import { reg } from './validate'
import {ShowSuccess} from '@/api/request'
Vue.mixin({
    data(){
        return {
            number:1000,
            FtList,
            reg:reg
        }
    },
    computed:{   // 全局混入 
        ...mapState([
            // 'count'
            'userInfo',
            'city',
            'cityList',
            'cinemaList',
            'goodList',
            'cartList'
        ]),
        ...mapGetters(['hotCity','ntypes','cartNum'])
        
    },
    watch:{

    },
    methods:{
        ShowSuccess,
        showFailMsg(message='错误'){
            this.$notify({
                message: message,
                color: '#ad0000',
                background: '#ffe1e1',
            });
        },
        ...mapMutations([
            'changeCount',
            'changeUserInfo',
            'changeCity',
            'getCartList'
        ]),
        ...mapActions([
            'getCityListAsync',
            'getCinemaList',
            'getGoodList'
        ]),
        gotowhere(name){
            this.$router.push({name})
        },
        changenumber(n){
            this.number+=n;
        },
        gotobackall(){
            this.$router.back()
        }
    },
    mounted(){
        // console.log("这是全局混入的 mounted ")
    }
})